package com.unju.ventanas.proyecto.clasificacion;

import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JEditorPane;

import com.unju.hibernate.entidades.Clasificacion;
import com.unju.hibernate.patronDAO.imp.ClasificacionDAOImp;
import com.unju.utils.AllShowMessage;
import com.unju.utils.ConstantesGlobales;
import com.unju.ventanas.principal.JFrmPrincipal;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import javax.swing.border.TitledBorder;

public class JDNuevaClasificacion extends JDialog {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	public static JDNuevaClasificacion nuevaClasificacion;
	private JTextField txtNombre;
	private JEditorPane txtDescripcion;
	private JLabel lblNombre;
	private JLabel lblDescrip;
	private Clasificacion c;

	public JDNuevaClasificacion(JFrmPrincipal jfrmPrincipal) {
		crearVentanta();
		panelDatoClasificacion();
		crearBotones();
		
		setVisible(true);
	}
	protected void crearVentanta() {
		super.setTitle(ConstantesGlobales.NUEVA_CLASIFICACION);
		setBounds(100, 100, 370, 280);
		getContentPane().setLayout(null);				
		setPreferredSize(new Dimension(370,280)); 		
		setMinimumSize(new Dimension(370,280));
		setMaximumSize(new Dimension(370,280));		
		setSize(370,280);						
		setModal(true);
		setLocationRelativeTo(JFrmPrincipal.getInstance());	
		
	}
	protected void panelDatoClasificacion() {
		JPanel panel = new JPanel();
		panel.setLayout(null);
		panel.setBorder(new TitledBorder(null, "Datos de Clasificacion", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel.setBounds(0, 0, 350, 200);
		getContentPane().add(panel);
					
		lblNombre = new JLabel("Nombre: ");
		lblNombre.setBounds(31, 23, 128, 14);
		panel.add(lblNombre);
			
		txtNombre = new JTextField();
		txtNombre.setFocusable(true);
		txtNombre.setColumns(10);
		txtNombre.setBounds(110, 20, 210, 20);
		panel.add(txtNombre);
			
		lblDescrip = new JLabel("Descripcion: ");
		lblDescrip.setBounds(31, 54, 128, 14);
		panel.add(lblDescrip);
			
		txtDescripcion = new JEditorPane();
		txtDescripcion.setBounds(110, 54, 210, 138);
		panel.add(txtDescripcion);
		

	}
	protected void crearBotones(){
		JButton btnGuardar = new JButton(ConstantesGlobales.BTN_AGREGAR);
		btnGuardar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				guardarClasificacion();
				dispose();
			}
		});
		btnGuardar.setBounds(80, 208, 89, 23);
		getContentPane().add(btnGuardar);
		
		JButton btnCancelar = new JButton(ConstantesGlobales.BTN_CANCELAR);
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dispose();
			}
		});
		btnCancelar.setBounds(179, 208, 89, 23);
		getContentPane().add(btnCancelar);
	}
	
	
	public void guardarClasificacion(){
		try {
			c = new Clasificacion();
			c.setNombre(txtNombre.getText());
			c.setDescripcion(txtDescripcion.getText());
			new ClasificacionDAOImp().insert(c);
		} catch (Exception e) {
			e.printStackTrace();
			AllShowMessage.showErrorMessage(ConstantesGlobales.MENSAJE_GUARDAR_ERROR+e);
		}
		
	}
	
	public static JDNuevaClasificacion getInstance() {
		if (nuevaClasificacion == null)
			nuevaClasificacion = new JDNuevaClasificacion(
					JFrmPrincipal.getInstance());
		return nuevaClasificacion;
	}
	
	
}
